Computer-based navigation systems are able to provide end users, such as vehicle drivers and other travelers, with various navigating functions and features. For example, some navigation systems are able to determine an optimum route to travel by roads between locations in a geographic region. Using input from the end user, and optionally from equipment that can determine the end user's physical location (such as a global positioning system), a navigation system can identify and examine various routes between two locations in the geographic region to determine an optimum route between the locations.
The navigation system may then provide the end user with information about the optimum route in the form of instructions that identify the maneuvers required to be taken by the end user to travel from the starting location to the destination location. The navigation system may be located in an automobile and the instructions may take the form of audio instructions that are provided as the end user is driving the route. Some navigation systems are capable of providing detailed moving map displays outlining the route between locations, the types of maneuvers to be taken along the route, locations of certain types of features or points of interest, and so on.
To provide these and other navigating functions, present navigation systems include navigation application software programs and use one or more detailed databases that include data which represent physical geographic navigable features. The detailed database(s) include data representing the road networks in a geographic region, including the roads and intersections in the region and information about the particular roads and intersections, such as one-way streets, turn restrictions at intersections, speed limits along the roads, street names of the various roads, address ranges along the various roads and so on. Further, the data may include information about points-of-interest such as restaurants, hotels, and so on. Presently, the collection of such geographic data and the provision of such data in a computer-usable database format are provided by Navigation Technologies of Chicago, Ill.
Performance can be an important factor that affects the usefulness of some of the features provided by a navigation system. For example, if a navigation system is used by a driver in a moving vehicle to obtain a route to a destination, guidance for following the route is needed relatively quickly, i.e., within several seconds or less, in order to instruct the driver about required maneuvers at upcoming intersections.
Although performance can be an important factor for navigation systems, there are several considerations that can make performance difficult to achieve. One consideration is that some navigation systems, in particular systems installed in vehicles or handheld devices, may have limited resources, such as relatively slow processors, limited memory, etc. Another consideration is that the geographic databases used by navigation systems are relatively large in order to include the types and detail of information needed to provide the features desired by end users. The relatively large sizes of geographic databases used by navigation systems can be difficult to handle, thereby affecting performance.
Techniques have been devised or implemented to improve navigation system performance by organizing, structuring, or arranging the geographic database or the data in the database in particular ways. Because a navigation system uses geographic data in certain known and expected ways to perform known functions, the geographic data can be organized, structured, or arranged in a manner that facilitates their use in these known ways by the navigation system.
Navigation application programs may also run on computer platforms that have relatively more memory resources and faster I/O, such as personal computers or networks. Although these platforms may have more and faster resources, the considerations related to the efficient use of geographic data still apply, but on a different scale. With these types of platforms, even greater functionality can be provided if the geographic database can be formed and used efficiently.
Accordingly, it is an objective to provide improvements in the storage and/or use of geographic data, and/or the programming that uses the geographic data.